package com.ccc.scala.base6_object

object Object07_Instance {
  def main(args: Array[String]): Unit = {
    // 单例对象
    val user1 = new User() // 通过构造器伴生类对象
    val user2 = User.apply() // 通过伴生对象的apply方法构造伴生类对象
    val user3 = User() // scala编译器省略apply方法，自动完成调用
  }

  class User() {
    println("构造器初始化对象...")
  }

  object User {
    def apply(): User = {
      println("apply方法...")
      new User()
    }
  }

}
